/**
 * 
 */
package com.feib.stms.dao;

import com.feib.stms.model.TempUser;
import com.feib.stms.pagination.PaginatedList;

/**
 * @author Lion Gao
 *
 */
public interface TempUserDao {
	
	/**
	 * 新增臨時使用者
	 * @param user
	 * @return int
	 */
	public int insertTempUser(TempUser user);
	
	/** 查詢userId是否重複 --新增使用
	 * @param userId
	 * @param groupPk
	 * @return
	 */
	public int countTempUserId(String userId,Long groupPk);
	
	/** 查詢userId是否重複 --修改使用
	 * @param userPk
	 * @param userId
	 * @param groupPk
	 * @return
	 */
	public int countTempUserId(Long userPk, String userId,Long groupPk);
	
	/** 修改使用者
	 * @param user
	 * @return
	 */
	public int updateTempUser(TempUser user);
	
	/** 按照pk查找
	 * @param userPk
	 * @return
	 */
	public TempUser getByTempUserPk(Long userPk);
	
	/** 按照使用者帳號查找
	 * @param userId
	 * @param groupPk
	 * @return
	 */
	public TempUser getByTempUserId(String userId,Long groupPk);
	
	/** 分頁查詢使用者資料
	 * @param tempUser
	 * @param paginatedList
	 * @return
	 */
	public PaginatedList<TempUser> queryForPaginatedListByTempUser(TempUser tempUser , PaginatedList paginatedList);
	
	/** 根據使用者帳號和密碼查詢使用者
	 * @param userId
	 * @param password
	 * @param groupPk
	 * @return
	 */
	public int getTempUserCount(String userId, String password , Long groupPk);
}
